Adding ICPC Live Archive
[andmenj-acm.git] / ICPC Live Archive / 3928 - Ballroom lights / help / gomox.ar-pap-2010-d9b17e5cb110 / tpd / doc / disgruntled.tex
blob7bffdb317b580506601a8d442cd3e7b1468ee4f8
1 \newcommand{\cosito}[0]{\textcolor{Orange}{\huge$\cdot$}}
2 \section{4289 - Disgruntled Judge}
3 \textbf{Problema:}
4 Dada una sucesión de números $x_1, x_3, ... , x_{2t-1}$, encontrar $x_2, x_4, ... , x_{2t}$, tal que:
5 $$\exists a, b \in \mathds{Z}, 0 \leq a,b \leq 10000, \forall 0 \leq i \leq 2t-1, x_{i+1} = a* x_{i} + b \mod 10001$$
7 \subsection{Resolución}
8 Para resolver el problema primero notamos que $10001 = 73*137$, lo cual puede ser útil para aplicar el teorema chino del resto.
9 Llamaremos $I_{i} = x_{2i-1}$ y $O_{i} = x_{2i}$. Notemos que como el enunciado nos dice que $0 \leq x_{i} \leq 10000$, resulta que los $x_{i}$ son restos de la división módulo 10001. Esto resulta importante porque nos permite trabajar con congruencia en vez de igualdad.
11 Si el \textit{input} es sólo $I_1$, alcanza con tomar $O_1=I_1$, pues se puede tomar $a=0, b=I_1$. Análogamente, si el \textit{input} es sólo $I_1, I_2$, alcanza con tomar $O_k = I_2$, pues se puede usar $a=0, b = I_2$.
13 Si la cantidad de \textit{inputs} ($n$) es mayor, hay que plantearlo de otra forma.
15 Consideremos un caso tal que la cantidad de \textit{inputs} es mayor o igual a 3. Observando las ecuaciones de generación de los $x_i$ vemos que:
17 $$a*I_1 + b \equiv O_1 \mod 10001$$
18 $$a*0_1 + b \equiv I_2 \mod 10001$$
19 $$a*I_2 + b \equiv O_2 \mod 10001$$
20 $$a*O_2 + b \equiv I_3 \mod 10001$$
22 De aquí podemos obtener:
24 $$a^2*I_1 + a*b + b \equiv I_2 \mod 10001$$
25 $$a^2*I_2 + a*b + b \equiv I_3 \mod 10001$$
27 Restando ecuaciones,
29 $$a^2*(I_1 - I_2) \equiv (I_2 - I_3) \mod 10001$$
31 Resolviendo esta ecuación podemos obtener candidatos para $a^2$, y de estos candidatos podemos obtener posibles valores para $a$.
33 Notemos que si $(I_1 - I_2)\equiv 0 \mod 10001$, resulta que $I_1 = I_2$, ya que $0 \leq I_1,I_2 \leq 10001$. %TODO: lo explico mas esto?
34 En ese caso, alcanza con devolver $O_k=I_2$
36 Usando teorema chino del resto, obtenemos que:
37 $$a^2*(I_1 - I_2) \equiv (I_2 - I_3) \mod 137$$
38 $$a^2*(I_1 - I_2) \equiv (I_2 - I_3) \mod 73$$
40 Supongamos que $(I_1 - I_2) \not\equiv 0 \mod 137 \wedge (I_1 - I_2) \not\equiv 0 \mod 73$
41 Entonces, como ambos módulos son primos, existen $k_{73}, k_{137}$ inversos multiplicativos de $(I_1 - I_2)$ módulo 73 y 137 respectivamente, tales que:
42 $$a^2 \equiv (I_2 - I_3)*k_{137} \mod 137$$
43 $$a^2 \equiv (I_2 - I_3)*k_{73} \mod 73$$
45 Para encontrar los $k$ se busca expresar a 1 como combinación lineal entre $(I_1 - I_2)$ y 137 o 73 según corresponda, lo cual es posible, ya que estamos suponiendo que $(I_1 - I_2)$ es coprimo con 137 y con 73.
47 Luego buscamos $a$ tales que $a^2$ cumpla esas ecuaciones. Si $(I_1 - I_2) \equiv 0 \mod 137 \vee (I_1 - I_2) \equiv 0 \mod 73$ (es un ``o'' exclusivo, porque estamos considerando que no $(I_1 - I_2)$ no era múltiplo de $10001$), perdemos una de las ecuaciones, pero igual obtenemos posibles candidatos para $a^2$.
49 Una vez que obtenemos un candidato para $a$, vemos si es viable. Para esto debe ser posible encontrar $b$ tal que:
50 $$a^2*I_1 + a*b + b \equiv I_2 \mod 10001$$
51 Escrito de otra forma:
52 $$(a+1)*b \equiv I_2 - a^2*I_1 \mod 10001$$
54 Un caso donde podría no existir ningún $b$ que cumpla esta ecuación es si $(a+1) \equiv 0 \mod 10001$, pero el lado derecho de la ecuación no es equivalente a 0. Usando teorema chino del resto, se obtienen dos ecuaciones módulo 173 y 73, que permiten obtener un $b$ candidato.
55 En verdad no puede ser que $(a+1) \equiv 0 \mod 10001$, porque entonces resulta que $a^2 \equiv 1 \mod 10001$ y de $(a+1)*b \equiv I_2 - a^2*I_1 \mod 10001$ sale que $I_1 \equiv I_2 \mod 10001$, pero ese caso yo lo habíamos considerado antes por separado.
56 Sin embargo, si puede ocurrir que $(a+1) \equiv 0 \mod 73$ o $(a+1) \equiv 0 \mod 137$ y que no valga que el lado derecho también sea congruente a 0, por lo cual hay que chequear esas condiciones.
58 Dado un valor de $k\neq 0$, existen a lo sumo dos $a$ distintos que cumplen:
59 $a \leq 0 \leq 73 \wedge a^2 \equiv k \mod 73$. En particular, existen o bien 2 $a$ que cumplen eso, o ninguno. El caso donde no existe ninguno no lo consideramos, ya que por enunciado sabemos que debe existir alguno. Si en vez de considerar el intervalo $[0,73]$ consideramos el intervalo $[0,\lfloor73/2\rfloor]$ existe un único $a$. El otro $a$ pertenece a la segunda mitad del intervalo y tiene la forma $a'=73-a$.
60 Algo similar ocurre para $137$.
62 Podemos entonces tener dos arreglos, uno para cada factor primo, tales que, por ejemplo, $A_{73}[i] = k / k^2 \equiv i \mod 73 \wedge 0 < k < 73$, o $0$ si no existe tal $k$.
64 En el caso en el que ninguna de las ecuaciones para $a^2$ se anula, usando lo visto antes, tenemos 4 posibles candidatos para $a$ (la combinación mediante teorema chino del resto de las dos soluciones módulo 73 y 137). Lo que hacemos entonces es probar alguno de esos que respete los \textit{inputs}, es decir que para todo $O_k$ en el rango, tiene que valer que $a*O_k+b \equiv I_{k+1} \mod 10001$. Una vez que encontramos uno, imprimimos los $O_k$.
66 Si alguna de las ecuaciones se anula, tenemos muchos más candidatos. Por ejemplo, si se anula la ecuación de $137$, tenemos dos posibles valores de $a$ que son menores que $73$. Ahora, todo valor $a'$ que sea menor a $10001$ y congruente modulo $73$ a alguno de esos dos es otro posible candidato. Notemos que en este caso hay $2*137$ posibles candidatos. Es análogo para cuando la ecuación que se anula es la de $73$, en este caso hay $2*73$ candidatos
69 El siguiente pseudocódigo ilustra la resolución del problema:
70 \begin{algorithm}[H]
71 \begin{algorithmic}
72 \caption{Obtención de $a$ y $b$ para el caso en el que $n\geq 3$ }
73 \PARAMS{$I_1$,$I_2$,$I_3$}
74 \STATE q = $I_1-I_2$
75 \STATE w = $I_2-I_3$
76 \IF{$q \equiv 0 \mod 73 \wedge q \equiv 0 \mod 137$}
77 \STATE no importa $a$ ni $b$, se puede tomar $O_k = I_3$
78 \RETURN
79 \ENDIF
80 \IF{$q \equiv 0 \mod 73$}
81 \STATE $a^2_{73} = w*q^{-1}_{73} \mod 73$ \COMMENT{ $q^{-1}_{73}$ es el inverso multiplicativo de $q \mod 73$}
82 \STATE obtener $a$ tal que $0 \leq a \leq \lfloor73/2\rfloor \wedge a^2 \equiv a^2_{73} \mod 73$
83 \STATE $a'= 73 - a$
84 \WHILE{no encontré solución}
85 \IF{ es posible encontrar un $b$ para ese $a$, y $a,b$ respetan los inputs}
86 \STATE esos son los que buscábamos
87 \RETURN
88 \ELSIF{ es posible encontrar un $b$ para $a'$ y $a',b$ respetan los inputs}
89 \STATE esos son los que buscábamos
90 \RETURN
91 \ELSE
92 \STATE $a=a+73$
93 \STATE $a'=a'+73$
94 \ENDIF
95 \ENDWHILE
96 \ELSIF{$q \equiv 0 \mod 137$}
97 \STATE realizar el mismo proceso que para 73 pero módulo 137
98 \ELSE
99 \STATE $a^2_{73} = w*q^{-1}_{73} \mod 73$
100 \STATE obtener $k$ tal que $0 \leq k \leq \lfloor73/2\rfloor \wedge k^2 \equiv a^2_{73} \mod 73$
101 \STATE $a^2_{137} = w*q^{-1}_{137} \mod 137$
102 \STATE obtener $j$ tal que $0 \leq j \lfloor\leq 137/2\rfloor \wedge j^2 \equiv a^2_{73} \mod 73$
103 \STATE considerar los siguientes candidatos: \COMMENT{se obtienen gracias al teorema chino}
104 \STATE \cosito $k*137*137^{-1}_{73} + j*73*73^{-1}_{137} \mod 10001$
105 \STATE \cosito $(73-k)*137*137^{-1}_{73} + j*73*73^{-1}_{137} \mod 10001$
106 \STATE \cosito $k*137*137^{-1}_{73} + (137-j)*73*73^{-1}_{137} \mod 10001$
107 \STATE \cosito $(73-k)*137*137^{-1}_{73} + (137-j)*73*73^{-1}_{137} \mod 10001$
108 \STATE devolver alguno de los candidatos tal que sea posible encontrar un $b$ para el, y que ambos respeten los $I_i$.
109 \ENDIF
110 \end{algorithmic}
111 \end{algorithm}
113 \begin{algorithm}[H]
114 \begin{algorithmic}
115 \caption{Obtención de $b$ dado un $a$, o fallar si no se puede}
116 \PARAMS{$a, I_1,I_2$}
117 \IF{$a+1 \equiv 0 \mod 73$}
118 \IF{$y - a^2*x \not\equiv 0 \mod 73$}
119 \STATE \textcolor{Orange}{Fallar}
120 \ELSE
121 \STATE $b = y - a^2*x * (a+1)^{-1}_{137} \mod 137$
122 \RETURN
123 \ENDIF
124 \ELSIF{$a+1 \equiv 0 \mod 137$}
125 \IF{$y - a^2*x \not\equiv 0 \mod 137$}
126 \STATE \textcolor{Orange}{Fallar}
127 \ELSE
128 \STATE $b = y - a^2*x * (a+1)^{-1}_{73} \mod 73$
129 \RETURN
130 \ENDIF
131 \ELSE
132 \STATE $b_{137} = y - a^2*x * (a+1)^{-1}_{137} \mod 137$
133 \STATE $b_{73} = y - a^2*x * (a+1)^{-1}_{73} \mod 73$
134 \STATE $b = b_{73}*137*137^{-1}_{73} + b_{137}*73*73^{-1}_{137} \mod 10001$
135 \RETURN
136 \ENDIF
137 \end{algorithmic}
138 \end{algorithm}
140 \subsection{Complejidad}
141 Con respecto a la complejidad, consideraremos que las operaciones aritméticas cuestan $O(1)$. Dado $m$, llamamos $\omega(m)$ a la cantidad de primos que dividen a $m$, es decir $\sharp\{ p / p \mid m \wedge p \in \mathds{P}\}$. Suponemos que conocemos esos factores primos, pues de lo contrario habría que considerar el costo de factorizar $m$.
143 Para resolver el ejercicio, llenamos $\omega(m)$ arreglos, que sirven para obtener $a$, sabiendo el resto de $a^2$ para los distintos factores primos de $m$. Estos arreglos se pueden llenar en $O(m)$.
144 Luego se resuelven $O(\omega(m))$ ecuaciones, las cuales se pueden resolver en $O(\log m)$, ya que para hacerlo se necesita obtener los inversos multiplicativos que se pueden conseguir mediante el algoritmo para el $mcd$ como se vio en clase.
146 A partir de esto, obtenemos $O(m)$ posibles candidatos (por ejemplo, si se anulan todas las ecuaciones menos una, la de $p_i$, quedan aproximadamente $O(m/p_i)$ candidatos). Para testear cada candidato, probamos que se cumplan todas las ecuaciones para los $I_i$, entonces si $n$ es la cantidad de inputs, chequeamos $O(n)$ ecuaciones. Por lo tanto, la complejidad de esta parte es $O(m*n)$.
148 Leer la entrada es $O(n) \subseteq O(m*n)$.
150 Uniendo todo, la complejidad es $O(\omega(m)*\log(m) + m*n)$.
152 \subsection{Implementación}
153 \noindent
154 \ttfamily
155 \shorthandoff{"}\\
156 \hlstd{}\hlline{\ 1\ }\hldir{\#include\ $<$stdlib.h$>$}\\
157 \hlline{\ 2\ }\hlstd{}\hldir{\#include\ $<$stdlib.h$>$}\\
158 \hlline{\ 3\ }\hlstd{}\hldir{\#include\ $<$stdio.h$>$}\\
159 \hlline{\ 4\ }\hlstd{}\hldir{\#include\ $<$sys/types.h$>$}\\
160 \hlline{\ 5\ }\hlstd{}\hldir{\#include\ $<$sys/stat.h$>$}\\
161 \hlline{\ 6\ }\hlstd{}\hldir{\#include\ $<$fcntl.h$>$}\\
162 \hlline{\ 7\ }\hlstd{}\hldir{\#include\ $<$cassert$>$}\\
163 \hlline{\ 8\ }\hlstd{}\hldir{\#include\ $<$list$>$}\\
164 \hlline{\ 9\ }\hlstd{}\hlkwa{using\ namespace\ }\hlstd{std}\hlsym{;}\\
165 \hlline{10\ }\hlstd{}\hldir{\#define\ forn(i,n)\ for(int\ i\ =\ 0;\ i\ $<$\ n;\ ++i)}\\
166 \hlline{11\ }\hlstd{}\hldir{\#define\ forsn(i,s,n)\ for(int\ i\ =\ (s);\ i\ $<$\ (n);\ i++)}\\
167 \hlline{12\ }\hlstd{}\hldir{\#define\ foreachin(it,s)\ for(\textunderscore \textunderscore typeof\textunderscore \textunderscore ((s).begin())\ it\ =\ ((s).begin());\ it\ !=\ ((s).end());\ ++it)}\\
168 \hlline{13\ }\hlstd{}\\
169 \hlline{14\ }\hldir{\#define\ inverso\textunderscore de\textunderscore 73\textunderscore mod\textunderscore 137\ 122}\\
170 \hlline{15\ }\hlstd{}\hldir{\#define\ inverso\textunderscore de\textunderscore 137\textunderscore mod\textunderscore 73\ 8}\\
171 \hlline{16\ }\hlstd{}\hldir{\#define\ coef\textunderscore 137\ 1096\ }\hlslc{//\ 137{*}8}\\
172 \hlline{17\ }\hldir{}\hlstd{}\hldir{\#define\ coef\textunderscore 73\ 8906\ }\hlslc{//\ 73{*}122}\\
173 \hlline{18\ }\hldir{}\hlstd{}\\
174 \hlline{19\ }\hlkwb{static\ int\ }\hlstd{cuad73}\hlsym{{[}}\hlstd{}\hlnum{73}\hlstd{}\hlsym{{]};}\\
175 \hlline{20\ }\hlstd{}\hlkwb{static\ int\ }\hlstd{cuad137}\hlsym{{[}}\hlstd{}\hlnum{137}\hlstd{}\hlsym{{]};}\\
176 \hlline{21\ }\hlstd{}\\
177 \hlline{22\ }\hldir{\#define\ resto(x,y)\ ((((x)\ \%\ (y))\ +\ (y))\ \%\ (y))}\\
178 \hlline{23\ }\hlstd{}\\
179 \hlline{24\ }\hlslc{//\ si\ (a,b)\ =\ 1,\ deja\ en\ x\ el\ inverso\ multiplicativo\ de\ a\ ,mod\ b}\\
180 \hlline{25\ }\hlstd{}\hlslc{//\ basicamente\ es\ la\ idea\ del\ algoritmo\ de\ euclides,\ pero\ iterativo}\\
181 \hlline{26\ }\hlstd{}\hlslc{//\ mas\ info:\ www.math.hawaii.edu/$\sim$lee/discrete/combination.ps}\\
182 \hlline{27\ }\hlstd{}\hlkwb{void\ }\hlstd{}\hlkwd{combinacion}\hlstd{}\hlsym{(}\hlstd{}\hlkwb{int\ }\hlstd{a}\hlsym{,\ }\hlstd{}\hlkwb{int\ }\hlstd{b}\hlsym{,\ }\hlstd{}\hlkwb{int}\hlstd{}\hlsym{\&}\hlstd{x}\hlsym{)\ \{}\\
183 \hlline{28\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{g0\ }\hlsym{=\ }\hlstd{a}\hlsym{;}\\
184 \hlline{29\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{x0\ }\hlsym{=\ }\hlstd{}\hlnum{1}\hlstd{}\hlsym{;}\\
185 \hlline{30\ }\hlstd{}\hlslc{//}\hlstd{\ \ \ \ }\hlslc{int\ y0\ =\ 0;}\\
186 \hlline{31\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{g1\ }\hlsym{=\ }\hlstd{b}\hlsym{;}\\
187 \hlline{32\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{x1\ }\hlsym{=\ }\hlstd{}\hlnum{0}\hlstd{}\hlsym{;}\\
188 \hlline{33\ }\hlstd{}\hlslc{//}\hlstd{\ \ \ \ }\hlslc{int\ y1\ =\ 1;}\\
189 \hlline{34\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwa{while\ }\hlstd{}\hlsym{(}\hlstd{g0\ }\hlsym{\%\ }\hlstd{g1\ }\hlsym{!=\ }\hlstd{}\hlnum{0}\hlstd{}\hlsym{)\ \{}\\
190 \hlline{35\ }\hlstd{}\hlslc{//invariante:\ a{*}x\textunderscore 1+b{*}y\textunderscore 1=g1}\\
191 \hlline{36\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{q\ }\hlsym{=\ }\hlstd{g0\ }\hlsym{/\ }\hlstd{g1}\hlsym{;}\\
192 \hlline{37\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{temp\ }\hlsym{=\ }\hlstd{g1}\hlsym{;}\\
193 \hlline{38\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{g1\ }\hlsym{=\ }\hlstd{g0\ }\hlsym{{-}\ }\hlstd{q\ }\hlsym{{*}\ }\hlstd{g1}\hlsym{;}\\
194 \hlline{39\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{g0\ }\hlsym{=\ }\hlstd{temp}\hlsym{;}\\
195 \hlline{40\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{temp\ }\hlsym{=\ }\hlstd{x1}\hlsym{;}\\
196 \hlline{41\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{x1\ }\hlsym{=\ }\hlstd{x0\ }\hlsym{{-}\ }\hlstd{q\ }\hlsym{{*}\ }\hlstd{x1}\hlsym{;}\\
197 \hlline{42\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{x0\ }\hlsym{=\ }\hlstd{temp}\hlsym{;}\\
198 \hlline{43\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlcom{/{*}}\\
199 \hlline{44\ }\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \ }\hlcom{temp\ =\ y1;}\\
200 \hlline{45\ }\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlcom{y1\ =\ y0\ {-}\ q\ {*}\ y1;}\\
201 \hlline{46\ }\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlcom{y0\ =\ temp;}\\
202 \hlline{47\ }\hlcom{}\hlstd{\ \ \ \ \ \ \ \ }\hlcom{{*}/}\hlstd{\\
203 \hlline{48\ }}\hlstd{\ \ \ \ }\hlstd{}\hlsym{\}}\\
204 \hlline{49\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{x}\hlsym{=}\hlstd{x1}\hlsym{;}\\
205 \hlline{50\ }\hlstd{}\hlsym{\}}\\
206 \hlline{51\ }\hlstd{}\\
207 \hlline{52\ }\hlcom{/{*}\ utiliza\ la\ ecuacion:\ a\textasciicircum 2{*}x\ +a{*}b+b\ $\backslash$equiv\ y}\\
208 \hlline{53\ }\hlcom{\ {*}\ para\ despejar\ b,\ si\ no\ es\ posible,\ es\ porque\ el\ a\ no\ era\ correcto}\\
209 \hlline{54\ }\hlcom{\ {*}\ b{*}(a+1)\ $\backslash$equiv\ y\ {-}a\textasciicircum 2}\\
210 \hlline{55\ }\hlcom{\ {*}/}\hlstd{}\\
211 \hlline{56\ }\hlkwb{bool\ }\hlstd{}\hlkwd{obtener\textunderscore b}\hlstd{}\hlsym{(}\hlstd{}\hlkwb{int\ }\hlstd{a}\hlsym{,\ }\hlstd{}\hlkwb{int\ }\hlstd{x}\hlsym{,\ }\hlstd{}\hlkwb{int\ }\hlstd{y}\hlsym{,}\hlstd{}\hlkwb{int}\hlstd{}\hlsym{\&\ }\hlstd{b}\hlsym{)\ \{}\\
212 \hlline{57\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwa{if\ }\hlstd{}\hlsym{((}\hlstd{a}\hlsym{+}\hlstd{}\hlnum{1}\hlstd{}\hlsym{)\ \%\ }\hlstd{}\hlnum{73\ }\hlstd{}\hlsym{==\ }\hlstd{}\hlnum{0}\hlstd{}\hlsym{)\ \{}\\
213 \hlline{58\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlslc{//\ para\ poder\ encontrar\ un\ b,\ la\ parte\ derecha\ tb\ tiene\ que\ ser\ congruente\ a\ 0\ modulo\ 73}\\
214 \hlline{59\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlkwa{if\ }\hlstd{}\hlsym{(}\hlstd{y}\hlsym{{-}}\hlstd{}\hlkwd{resto}\hlstd{}\hlsym{(}\hlstd{a}\hlsym{{*}}\hlstd{a}\hlsym{,}\hlstd{}\hlnum{73}\hlstd{}\hlsym{){*}}\hlstd{x\ }\hlsym{\%}\hlstd{}\hlnum{73\ }\hlstd{}\hlsym{!=\ }\hlstd{}\hlnum{0}\hlstd{}\hlsym{)}\hlstd{}\hlkwa{return\ false}\hlstd{}\hlsym{;}\\
215 \hlline{60\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{amas1inv}\hlsym{,\ }\hlstd{aux}\hlsym{;}\\
216 \hlline{61\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlkwd{combinacion}\hlstd{}\hlsym{((}\hlstd{a}\hlsym{+}\hlstd{}\hlnum{1}\hlstd{}\hlsym{),}\hlstd{}\hlnum{137}\hlstd{}\hlsym{,}\hlstd{amas1inv}\hlsym{);}\\
217 \hlline{62\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{amas1inv\ }\hlsym{=\ }\hlstd{}\hlkwd{resto}\hlstd{}\hlsym{(}\hlstd{amas1inv}\hlsym{,}\hlstd{}\hlnum{137}\hlstd{}\hlsym{);}\\
218 \hlline{63\ }\hlstd{\\
219 \hlline{64\ }}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{acuad\ }\hlsym{=\ }\hlstd{a}\hlsym{{*}}\hlstd{a\ }\hlsym{\%}\hlstd{}\hlnum{137}\hlstd{}\hlsym{;}\\
220 \hlline{65\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{aux\ }\hlsym{=\ }\hlstd{}\hlkwd{resto}\hlstd{}\hlsym{((}\hlstd{y\ }\hlsym{{-}\ }\hlstd{acuad}\hlsym{{*}}\hlstd{x}\hlsym{),}\hlstd{}\hlnum{137}\hlstd{}\hlsym{);}\\
221 \hlline{66\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{b\ }\hlsym{=\ }\hlstd{aux}\hlsym{{*}}\hlstd{amas1inv}\hlsym{\%}\hlstd{}\hlnum{137}\hlstd{}\hlsym{;}\\
222 \hlline{67\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlkwa{return\ true}\hlstd{}\hlsym{;}\\
223 \hlline{68\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlsym{\}}\\
224 \hlline{69\ }\hlstd{\\
225 \hlline{70\ }}\hlstd{\ \ \ \ }\hlstd{}\hlkwa{if\ }\hlstd{}\hlsym{((}\hlstd{a}\hlsym{+}\hlstd{}\hlnum{1}\hlstd{}\hlsym{)\%}\hlstd{}\hlnum{137\ }\hlstd{}\hlsym{==\ }\hlstd{}\hlnum{0}\hlstd{}\hlsym{)\ \{}\\
226 \hlline{71\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlslc{//\ para\ poder\ encontrar\ un\ b,\ la\ parte\ derecha\ tb\ tiene\ que\ ser\ congruente\ a\ 0\ modulo\ 137}\\
227 \hlline{72\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlkwa{if\ }\hlstd{}\hlsym{(}\hlstd{y}\hlsym{{-}}\hlstd{}\hlkwd{resto}\hlstd{}\hlsym{(}\hlstd{a}\hlsym{{*}}\hlstd{a}\hlsym{,}\hlstd{}\hlnum{137}\hlstd{}\hlsym{){*}}\hlstd{x\ }\hlsym{\%}\hlstd{}\hlnum{137\ }\hlstd{}\hlsym{!=\ }\hlstd{}\hlnum{0}\hlstd{}\hlsym{)}\hlstd{}\hlkwa{return\ false}\hlstd{}\hlsym{;}\\
228 \hlline{73\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{amas1inv}\hlsym{,\ }\hlstd{aux}\hlsym{;}\\
229 \hlline{74\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlkwd{combinacion}\hlstd{}\hlsym{((}\hlstd{a}\hlsym{+}\hlstd{}\hlnum{1}\hlstd{}\hlsym{),}\hlstd{}\hlnum{73}\hlstd{}\hlsym{,}\hlstd{amas1inv}\hlsym{);}\\
230 \hlline{75\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{amas1inv\ }\hlsym{=\ }\hlstd{}\hlkwd{resto}\hlstd{}\hlsym{(}\hlstd{amas1inv}\hlsym{,}\hlstd{}\hlnum{73}\hlstd{}\hlsym{);}\\
231 \hlline{76\ }\hlstd{\\
232 \hlline{77\ }}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{acuad\ }\hlsym{=\ }\hlstd{a}\hlsym{{*}}\hlstd{a\ }\hlsym{\%\ }\hlstd{}\hlnum{73}\hlstd{}\hlsym{;}\\
233 \hlline{78\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{aux\ }\hlsym{=\ }\hlstd{}\hlkwd{resto}\hlstd{}\hlsym{((}\hlstd{y\ }\hlsym{{-}\ }\hlstd{acuad}\hlsym{{*}}\hlstd{x}\hlsym{),}\hlstd{}\hlnum{73}\hlstd{}\hlsym{);}\\
234 \hlline{79\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{b\ }\hlsym{=\ }\hlstd{aux}\hlsym{{*}}\hlstd{amas1inv\ }\hlsym{\%}\hlstd{}\hlnum{73}\hlstd{}\hlsym{;}\\
235 \hlline{80\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlkwa{return\ true}\hlstd{}\hlsym{;}\\
236 \hlline{81\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlsym{\}}\\
237 \hlline{82\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{amas1inv137}\hlsym{,\ }\hlstd{aux}\hlsym{;}\\
238 \hlline{83\ }\hlstd{\\
239 \hlline{84\ }}\hlstd{\ \ \ \ }\hlstd{}\hlkwd{combinacion}\hlstd{}\hlsym{((}\hlstd{a}\hlsym{+}\hlstd{}\hlnum{1}\hlstd{}\hlsym{),}\hlstd{}\hlnum{137}\hlstd{}\hlsym{,}\hlstd{amas1inv137}\hlsym{);}\\
240 \hlline{85\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{amas1inv137\ }\hlsym{=\ }\hlstd{}\hlkwd{resto}\hlstd{}\hlsym{(}\hlstd{amas1inv137}\hlsym{,}\hlstd{}\hlnum{137}\hlstd{}\hlsym{);}\\
241 \hlline{86\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{acuad137\ }\hlsym{=\ }\hlstd{a}\hlsym{{*}}\hlstd{a\ }\hlsym{\%\ }\hlstd{}\hlnum{137}\hlstd{}\hlsym{;}\\
242 \hlline{87\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{aux137\ }\hlsym{=\ }\hlstd{}\hlkwd{resto}\hlstd{}\hlsym{((}\hlstd{y\ }\hlsym{{-}\ }\hlstd{acuad137}\hlsym{{*}}\hlstd{x}\hlsym{),}\hlstd{}\hlnum{137}\hlstd{}\hlsym{);}\\
243 \hlline{88\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{b137}\hlsym{=\ }\hlstd{aux137}\hlsym{{*}}\hlstd{amas1inv137\ }\hlsym{\%\ }\hlstd{}\hlnum{137}\hlstd{}\hlsym{;}\\
244 \hlline{89\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{amas1inv73}\hlsym{;}\\
245 \hlline{90\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwd{combinacion}\hlstd{}\hlsym{((}\hlstd{a}\hlsym{+}\hlstd{}\hlnum{1}\hlstd{}\hlsym{),}\hlstd{}\hlnum{73}\hlstd{}\hlsym{,}\hlstd{amas1inv73}\hlsym{);}\\
246 \hlline{91\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{amas1inv73\ }\hlsym{=\ }\hlstd{}\hlkwd{resto}\hlstd{}\hlsym{(}\hlstd{amas1inv73}\hlsym{,}\hlstd{}\hlnum{73}\hlstd{}\hlsym{);}\\
247 \hlline{92\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{acuad73\ }\hlsym{=\ }\hlstd{a}\hlsym{{*}}\hlstd{a\ }\hlsym{\%}\hlstd{}\hlnum{73}\hlstd{}\hlsym{;}\\
248 \hlline{93\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{aux73\ }\hlsym{=\ }\hlstd{}\hlkwd{resto}\hlstd{}\hlsym{((}\hlstd{y\ }\hlsym{{-}\ }\hlstd{acuad73}\hlsym{{*}}\hlstd{x}\hlsym{),}\hlstd{}\hlnum{73}\hlstd{}\hlsym{);}\\
249 \hlline{94\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{b73}\hlsym{=\ }\hlstd{aux73}\hlsym{{*}}\hlstd{amas1inv73\ }\hlsym{\%}\hlstd{}\hlnum{73}\hlstd{}\hlsym{;}\\
250 \hlline{95\ }\hlstd{\\
251 \hlline{96\ }}\hlstd{\ \ \ \ }\hlstd{}\hlslc{//usamos\ teorema\ chino\ del\ resto,\ para\ encontrar\ b}\\
252 \hlline{97\ }\hlstd{\\
253 \hlline{98\ }}\hlstd{\ \ \ \ }\hlstd{b\ }\hlsym{=\ ((}\hlstd{b73}\hlsym{{*}}\hlstd{coef\textunderscore 137}\hlsym{)+(}\hlstd{b137}\hlsym{{*}}\hlstd{coef\textunderscore 73}\hlsym{))\ \%\ }\hlstd{}\hlnum{10001}\hlstd{}\hlsym{;}\\
254 \hlline{99\ }\hlstd{\\
255 \hlline{100\ }}\hlstd{\ \ \ \ }\hlstd{}\hlkwa{return\ true}\hlstd{}\hlsym{;}\\
256 \hlline{101\ }\hlstd{}\\
257 \hlline{102\ }\hlsym{\}}\\
258 \hlline{103\ }\hlstd{}\\
259 \hlline{104\ }\hlkwb{static\ int\ }\hlstd{numeros}\hlsym{{[}}\hlstd{}\hlnum{101}\hlstd{}\hlsym{{]};}\\
260 \hlline{105\ }\hlstd{}\\
261 \hlline{106\ }\hlkwb{bool\ }\hlstd{}\hlkwd{testear\textunderscore candidato}\hlstd{}\hlsym{(}\hlstd{}\hlkwb{int\ }\hlstd{a}\hlsym{,\ }\hlstd{}\hlkwb{int\ }\hlstd{b}\hlsym{,\ }\hlstd{}\hlkwb{int\ }\hlstd{cant}\hlsym{,}\hlstd{list}\hlsym{$<$}\hlstd{}\hlkwb{int}\hlstd{}\hlsym{$>$\&\ }\hlstd{res}\hlsym{)\ \{}\\
262 \hlline{107\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwd{forn}\hlstd{}\hlsym{(}\hlstd{i}\hlsym{,}\hlstd{cant}\hlsym{)\ \{}\\
263 \hlline{108\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{f\ }\hlsym{=\ (}\hlstd{a}\hlsym{{*}}\hlstd{numeros}\hlsym{{[}}\hlstd{i}\hlsym{{]}+}\hlstd{b}\hlsym{)\%\ }\hlstd{}\hlnum{10001}\hlstd{}\hlsym{;}\\
264 \hlline{109\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{res}\hlsym{.}\hlstd{}\hlkwd{push\textunderscore back}\hlstd{}\hlsym{(}\hlstd{f}\hlsym{);}\\
265 \hlline{110\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlkwa{if\ }\hlstd{}\hlsym{(}\hlstd{numeros}\hlsym{{[}}\hlstd{i}\hlsym{+}\hlstd{}\hlnum{1}\hlstd{}\hlsym{{]}\ $<$\ }\hlstd{cant\ }\hlsym{\&\&\ (}\hlstd{a}\hlsym{{*}}\hlstd{f}\hlsym{+}\hlstd{b}\hlsym{)\%\ }\hlstd{}\hlnum{10001\ }\hlstd{}\hlsym{!=\ }\hlstd{numeros}\hlsym{{[}}\hlstd{i}\hlsym{+}\hlstd{}\hlnum{1}\hlstd{}\hlsym{{]})\ \{}\\
266 \hlline{111\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwa{break}\hlstd{}\hlsym{;}\\
267 \hlline{112\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlsym{\}}\\
268 \hlline{113\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlsym{\}}\\
269 \hlline{114\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwa{return\ }\hlstd{res}\hlsym{.}\hlstd{}\hlkwd{size}\hlstd{}\hlsym{()\ ==\ }\hlstd{cant}\hlsym{;}\\
270 \hlline{115\ }\hlstd{}\hlsym{\}}\\
271 \hlline{116\ }\hlstd{}\\
272 \hlline{117\ }\hlkwb{void\ }\hlstd{}\hlkwd{llenar\textunderscore res}\hlstd{}\hlsym{(}\hlstd{}\hlkwb{int\ }\hlstd{a}\hlsym{,}\hlstd{}\hlkwb{int\ }\hlstd{a1}\hlsym{,}\hlstd{}\hlkwb{int\ }\hlstd{x}\hlsym{,\ }\hlstd{}\hlkwb{int\ }\hlstd{y}\hlsym{,}\hlstd{}\hlkwb{int\ }\hlstd{cant}\hlsym{,}\hlstd{list}\hlsym{$<$}\hlstd{}\hlkwb{int}\hlstd{}\hlsym{$>$\&\ }\hlstd{res}\hlsym{,}\hlstd{}\hlkwb{int\ }\hlstd{q}\hlsym{)\ \{}\\
273 \hlline{118\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{b}\hlsym{;}\\
274 \hlline{119\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{candidatos}\hlsym{{[}}\hlstd{}\hlnum{2}\hlstd{}\hlsym{{]}\ =\ \{}\hlstd{a}\hlsym{,}\hlstd{a1}\hlsym{\};}\\
275 \hlline{120\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{t\ }\hlsym{=\ }\hlstd{}\hlnum{0}\hlstd{}\hlsym{;}\\
276 \hlline{121\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwa{while\ }\hlstd{}\hlsym{(}\hlstd{}\hlkwa{true}\hlstd{}\hlsym{)\ \{}\\
277 \hlline{122\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlkwa{if\ }\hlstd{}\hlsym{(}\hlstd{}\hlkwd{obtener\textunderscore b}\hlstd{}\hlsym{(}\hlstd{candidatos}\hlsym{{[}}\hlstd{t}\hlsym{{]},}\hlstd{x}\hlsym{,}\hlstd{y}\hlsym{,}\hlstd{b}\hlsym{))\ \{}\\
278 \hlline{123\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwa{if\ }\hlstd{}\hlsym{(}\hlstd{}\hlkwd{testear\textunderscore candidato}\hlstd{}\hlsym{(}\hlstd{candidatos}\hlsym{{[}}\hlstd{t}\hlsym{{]},}\hlstd{b}\hlsym{,}\hlstd{cant}\hlsym{,}\hlstd{res}\hlsym{))}\hlstd{}\hlkwa{break}\hlstd{}\hlsym{;}\\
279 \hlline{124\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlsym{\}}\\
280 \hlline{125\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{res}\hlsym{.}\hlstd{}\hlkwd{clear}\hlstd{}\hlsym{();}\\
281 \hlline{126\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{t}\hlsym{++;}\\
282 \hlline{127\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlkwa{if\ }\hlstd{}\hlsym{(}\hlstd{t}\hlsym{$>$}\hlstd{}\hlnum{1}\hlstd{}\hlsym{)\ \{}\\
283 \hlline{128\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{candidatos}\hlsym{{[}}\hlstd{}\hlnum{0}\hlstd{}\hlsym{{]}=}\hlstd{candidatos}\hlsym{{[}}\hlstd{}\hlnum{0}\hlstd{}\hlsym{{]}+}\hlstd{q}\hlsym{;}\\
284 \hlline{129\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{candidatos}\hlsym{{[}}\hlstd{}\hlnum{1}\hlstd{}\hlsym{{]}=}\hlstd{candidatos}\hlsym{{[}}\hlstd{}\hlnum{1}\hlstd{}\hlsym{{]}+}\hlstd{q}\hlsym{;}\\
285 \hlline{130\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{t}\hlsym{=}\hlstd{}\hlnum{0}\hlstd{}\hlsym{;}\\
286 \hlline{131\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlsym{\}}\\
287 \hlline{132\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlsym{\}}\\
288 \hlline{133\ }\hlstd{}\hlsym{\}}\\
289 \hlline{134\ }\hlstd{}\\
290 \hlline{135\ }\hlkwb{void\ }\hlstd{}\hlkwd{resolver}\hlstd{}\hlsym{(}\hlstd{}\hlkwb{const\ int\ }\hlstd{cuadk}\hlsym{{[}{]},}\hlstd{}\hlkwb{int\ }\hlstd{k}\hlsym{,}\hlstd{}\hlkwb{int\ }\hlstd{x}\hlsym{,}\hlstd{}\hlkwb{int\ }\hlstd{y}\hlsym{,}\hlstd{}\hlkwb{int\ }\hlstd{qk}\hlsym{,\ }\hlstd{}\hlkwb{int\ }\hlstd{wk}\hlsym{,}\hlstd{}\hlkwb{int\ }\hlstd{cant}\hlsym{)\ \{}\\
291 \hlline{136\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{qkinv}\hlsym{;}\\
292 \hlline{137\ }\hlstd{\\
293 \hlline{138\ }}\hlstd{\ \ \ \ }\hlstd{}\hlkwd{combinacion}\hlstd{}\hlsym{(}\hlstd{qk}\hlsym{,}\hlstd{k}\hlsym{,}\hlstd{qkinv}\hlsym{);}\\
294 \hlline{139\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{qkinv\ }\hlsym{=\ }\hlstd{}\hlkwd{resto}\hlstd{}\hlsym{(}\hlstd{qkinv}\hlsym{,}\hlstd{k}\hlsym{);}\\
295 \hlline{140\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{acuad\ }\hlsym{=\ (}\hlstd{wk}\hlsym{{*}}\hlstd{qkinv}\hlsym{)\%}\hlstd{k}\hlsym{;}\\
296 \hlline{141\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{a}\hlsym{,}\hlstd{a1}\hlsym{;}\\
297 \hlline{142\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{a\ }\hlsym{=\ }\hlstd{cuadk}\hlsym{{[}}\hlstd{acuad}\hlsym{{]};}\\
298 \hlline{143\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{a1}\hlsym{=\ }\hlstd{k\ }\hlsym{{-}}\hlstd{cuadk}\hlsym{{[}}\hlstd{acuad}\hlsym{{]};}\\
299 \hlline{144\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{list}\hlsym{$<$}\hlstd{}\hlkwb{int}\hlstd{}\hlsym{$>$\ }\hlstd{res}\hlsym{;}\\
300 \hlline{145\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwd{llenar\textunderscore res}\hlstd{}\hlsym{(}\hlstd{a}\hlsym{,}\hlstd{a1}\hlsym{,}\hlstd{x}\hlsym{,}\hlstd{y}\hlsym{,}\hlstd{cant}\hlsym{,}\hlstd{res}\hlsym{,}\hlstd{k}\hlsym{);}\\
301 \hlline{146\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwd{foreachin}\hlstd{}\hlsym{(}\hlstd{it}\hlsym{,}\hlstd{res}\hlsym{)\ \{}\\
302 \hlline{147\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlkwd{printf}\hlstd{}\hlsym{(}\hlstd{}\hlstr{"\%d}\hlesc{$\backslash$n}\hlstr{"}\hlstd{}\hlsym{,{*}}\hlstd{it}\hlsym{);}\\
303 \hlline{148\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlsym{\}}\\
304 \hlline{149\ }\hlstd{}\hlsym{\}}\\
305 \hlline{150\ }\hlstd{}\\
306 \hlline{151\ }\\
307 \hlline{152\ }\hlkwb{int\ }\hlstd{}\hlkwd{main}\hlstd{}\hlsym{(}\hlstd{}\hlkwb{int\ }\hlstd{argc}\hlsym{,\ }\hlstd{}\hlkwb{char}\hlstd{}\hlsym{{*}{*}\ }\hlstd{argv}\hlsym{)\ \{}\\
308 \hlline{153\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlslc{//\ cuad73{[}k{]}\ =\ a\ /\ a\textasciicircum 2\ \%\ 73\ ==\ k}\\
309 \hlline{154\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlslc{//\ notar\ que\ alcanza\ mirar\ hasta\ 37\ (73/2+1)}\\
310 \hlline{155\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlslc{//\ porque\ j\textasciicircum 2\ \%\ 73\ ==\ (73\ {-}\ j)\textasciicircum 2}\\
311 \hlline{156\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlslc{//\ ademas\ no\ hay\ a1,a2\ entre\ {[}0,73/2+1)\ tal\ que\ a1\textasciicircum 2\ \%\ 73\ ==\ a2\textasciicircum 2\ \%\ 73}\\
312 \hlline{157\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwd{forn}\hlstd{}\hlsym{(}\hlstd{each}\hlsym{,}\hlstd{}\hlnum{37}\hlstd{}\hlsym{)\ \{}\\
313 \hlline{158\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{cuad73}\hlsym{{[}(}\hlstd{each}\hlsym{{*}}\hlstd{each}\hlsym{)\%}\hlstd{}\hlnum{73}\hlstd{}\hlsym{{]}\ =\ }\hlstd{each}\hlsym{;}\\
314 \hlline{159\ }\hlstd{\\
315 \hlline{160\ }}\hlstd{\ \ \ \ }\hlstd{}\hlsym{\}}\\
316 \hlline{161\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlslc{//\ simil\ a\ lo\ anterior}\\
317 \hlline{162\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwd{forn}\hlstd{}\hlsym{(}\hlstd{each}\hlsym{,}\hlstd{}\hlnum{68}\hlstd{}\hlsym{)\ \{}\\
318 \hlline{163\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{cuad137}\hlsym{{[}(}\hlstd{each}\hlsym{{*}}\hlstd{each}\hlsym{)\%}\hlstd{}\hlnum{137}\hlstd{}\hlsym{{]}=}\hlstd{each}\hlsym{;}\\
319 \hlline{164\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlsym{\}}\\
320 \hlline{165\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{cant}\hlsym{;}\\
321 \hlline{166\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwd{scanf}\hlstd{}\hlsym{(}\hlstd{}\hlstr{"\%d"}\hlstd{}\hlsym{,\&}\hlstd{cant}\hlsym{);}\\
322 \hlline{167\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwa{while\ }\hlstd{}\hlsym{(}\hlstd{cant\ }\hlsym{$>$\ }\hlstd{}\hlnum{0}\hlstd{}\hlsym{)\ \{}\\
323 \hlline{168\ }\hlstd{\\
324 \hlline{169\ }}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlkwd{forn}\hlstd{}\hlsym{(}\hlstd{i}\hlsym{,}\hlstd{cant}\hlsym{)\ \{}\\
325 \hlline{170\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwd{scanf}\hlstd{}\hlsym{(}\hlstd{}\hlstr{"\%d"}\hlstd{}\hlsym{,\&}\hlstd{numeros}\hlsym{{[}}\hlstd{i}\hlsym{{]});}\\
326 \hlline{171\ }\hlstd{\\
327 \hlline{172\ }}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlsym{\}}\\
328 \hlline{173\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlkwa{if\ }\hlstd{}\hlsym{(}\hlstd{cant\ }\hlsym{$<$\ }\hlstd{}\hlnum{3}\hlstd{}\hlsym{)\ \{}\\
329 \hlline{174\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwd{forn}\hlstd{}\hlsym{(}\hlstd{i}\hlsym{,\ }\hlstd{cant}\hlsym{)\ \{}\\
330 \hlline{175\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwd{printf}\hlstd{}\hlsym{(}\hlstd{}\hlstr{"\%d}\hlesc{$\backslash$n}\hlstr{"}\hlstd{}\hlsym{,}\hlstd{numeros}\hlsym{{[}}\hlstd{cant}\hlsym{{-}}\hlstd{}\hlnum{1}\hlstd{}\hlsym{{]});}\\
331 \hlline{176\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlsym{\}}\\
332 \hlline{177\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlsym{\}}\\
333 \hlline{178\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlkwa{else\ }\hlstd{}\hlsym{\{}\\
334 \hlline{179\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{x}\hlsym{,}\hlstd{y}\hlsym{,}\hlstd{z}\hlsym{;}\\
335 \hlline{180\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{x}\hlsym{=}\hlstd{numeros}\hlsym{{[}}\hlstd{}\hlnum{0}\hlstd{}\hlsym{{]};}\\
336 \hlline{181\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{y}\hlsym{=}\hlstd{numeros}\hlsym{{[}}\hlstd{}\hlnum{1}\hlstd{}\hlsym{{]};}\\
337 \hlline{182\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{z}\hlsym{=}\hlstd{numeros}\hlsym{{[}}\hlstd{}\hlnum{2}\hlstd{}\hlsym{{]};}\\
338 \hlline{183\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{q}\hlsym{,}\hlstd{w}\hlsym{;}\\
339 \hlline{184\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlcom{/{*}\ Idea:}\\
340 \hlline{185\ }\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ }\hlcom{a{*}x\ +\ b\ $\backslash$equiv\ 0\textunderscore 1}\\
341 \hlline{186\ }\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ }\hlcom{a{*}O\textunderscore 1\ +\ b\ $\backslash$equiv\ y}\\
342 \hlline{187\ }\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ }\hlcom{a{*}y\ +\ b\ $\backslash$equiv\ O\textunderscore 2}\\
343 \hlline{188\ }\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ }\hlcom{a{*}O\textunderscore 2\ +b\ $\backslash$equiv\ z}\\
344 \hlline{189\ }\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ }\hlcom{{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}}\\
345 \hlline{190\ }\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ }\hlcom{a\textasciicircum 2{*}x+ab+b\ $\backslash$equiv\ y}\\
346 \hlline{191\ }\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ }\hlcom{a\textasciicircum 2{*}y+ab+b\ $\backslash$equiv\ z}\\
347 \hlline{192\ }\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ }\hlcom{{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}}\\
348 \hlline{193\ }\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ }\hlcom{a\textasciicircum 2(x{-}y)\ $\backslash$equiv\ (y{-}z)}\\
349 \hlline{194\ }\hlcom{}\\
350 \hlline{195\ }\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ }\hlcom{Resolver\ esa\ ecuacion\ modulo\ 137\ y\ 73\ y\ obtener\ candidatos\ para\ a.}\\
351 \hlline{196\ }\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ }\hlcom{obtener\ un\ b\ para\ alguno\ de\ los\ candidatos.\ usar\ esa\ pareja\ (a,b)}\\
352 \hlline{197\ }\hlcom{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ }\hlcom{{*}/}\hlstd{\\
353 \hlline{198\ }}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{q\ }\hlsym{=\ (}\hlstd{x}\hlsym{{-}}\hlstd{y}\hlsym{);}\\
354 \hlline{199\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{w\ }\hlsym{=\ (}\hlstd{y}\hlsym{{-}}\hlstd{z}\hlsym{);}\\
355 \hlline{200\ }\hlstd{\\
356 \hlline{201\ }}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{q137\ }\hlsym{=\ }\hlstd{}\hlkwd{resto}\hlstd{}\hlsym{(}\hlstd{q}\hlsym{,}\hlstd{}\hlnum{137}\hlstd{}\hlsym{);}\\
357 \hlline{202\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{q73\ }\hlsym{=\ }\hlstd{}\hlkwd{resto}\hlstd{}\hlsym{(}\hlstd{q}\hlsym{,}\hlstd{}\hlnum{73}\hlstd{}\hlsym{);}\\
358 \hlline{203\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{w137\ }\hlsym{=\ }\hlstd{}\hlkwd{resto}\hlstd{}\hlsym{(}\hlstd{w}\hlsym{,}\hlstd{}\hlnum{137}\hlstd{}\hlsym{);}\\
359 \hlline{204\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{w73\ }\hlsym{=\ }\hlstd{}\hlkwd{resto}\hlstd{}\hlsym{(}\hlstd{w}\hlsym{,}\hlstd{}\hlnum{73}\hlstd{}\hlsym{);}\\
360 \hlline{205\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwa{if\ }\hlstd{}\hlsym{(}\hlstd{q137\ }\hlsym{==\ }\hlstd{}\hlnum{0}\hlstd{}\hlsym{)\ \{}\\
361 \hlline{206\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwa{if\ }\hlstd{}\hlsym{(}\hlstd{q73\ }\hlsym{==\ }\hlstd{}\hlnum{0}\hlstd{}\hlsym{)\ \{}\\
362 \hlline{207\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwd{forn}\hlstd{}\hlsym{(}\hlstd{i}\hlsym{,}\hlstd{cant}\hlsym{)\ \{}\\
363 \hlline{208\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwd{printf}\hlstd{}\hlsym{(}\hlstd{}\hlstr{"\%d}\hlesc{$\backslash$n}\hlstr{"}\hlstd{}\hlsym{,}\hlstd{numeros}\hlsym{{[}}\hlstd{cant}\hlsym{{-}}\hlstd{}\hlnum{1}\hlstd{}\hlsym{{]});}\\
364 \hlline{209\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlsym{\}}\\
365 \hlline{210\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlsym{\}}\\
366 \hlline{211\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwa{else\ }\hlstd{}\hlsym{\{}\\
367 \hlline{212\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwd{resolver}\hlstd{}\hlsym{(}\hlstd{cuad73}\hlsym{,}\hlstd{}\hlnum{73}\hlstd{}\hlsym{,}\hlstd{x}\hlsym{,}\hlstd{y}\hlsym{,}\hlstd{q73}\hlsym{,}\hlstd{w73}\hlsym{,}\hlstd{cant}\hlsym{);}\\
368 \hlline{213\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlsym{\}}\\
369 \hlline{214\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlsym{\}}\\
370 \hlline{215\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwa{else\ }\hlstd{}\hlsym{\{}\\
371 \hlline{216\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwa{if\ }\hlstd{}\hlsym{(}\hlstd{q73\ }\hlsym{==\ }\hlstd{}\hlnum{0}\hlstd{}\hlsym{)\ \{}\\
372 \hlline{217\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwd{resolver}\hlstd{}\hlsym{(}\hlstd{cuad137}\hlsym{,}\hlstd{}\hlnum{137}\hlstd{}\hlsym{,}\hlstd{x}\hlsym{,}\hlstd{y}\hlsym{,}\hlstd{q137}\hlsym{,}\hlstd{w137}\hlsym{,}\hlstd{cant}\hlsym{);}\\
373 \hlline{218\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlsym{\}}\\
374 \hlline{219\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwa{else\ }\hlstd{}\hlsym{\{}\\
375 \hlline{220\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{q137inv}\hlsym{,}\hlstd{q73inv}\hlsym{;}\\
376 \hlline{221\ }\hlstd{\\
377 \hlline{222\ }}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwd{combinacion}\hlstd{}\hlsym{(}\hlstd{q137}\hlsym{,}\hlstd{}\hlnum{137}\hlstd{}\hlsym{,}\hlstd{q137inv}\hlsym{);}\\
378 \hlline{223\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{q137inv\ }\hlsym{=\ }\hlstd{}\hlkwd{resto}\hlstd{}\hlsym{(}\hlstd{q137inv}\hlsym{,}\hlstd{}\hlnum{137}\hlstd{}\hlsym{);}\\
379 \hlline{224\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{acuad137\ }\hlsym{=\ (}\hlstd{w137}\hlsym{{*}}\hlstd{q137inv}\hlsym{)\%}\hlstd{}\hlnum{137}\hlstd{}\hlsym{;}\\
380 \hlline{225\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwd{combinacion}\hlstd{}\hlsym{(}\hlstd{q73}\hlsym{,}\hlstd{}\hlnum{73}\hlstd{}\hlsym{,}\hlstd{q73inv}\hlsym{);}\\
381 \hlline{226\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{q73inv\ }\hlsym{=\ }\hlstd{}\hlkwd{resto}\hlstd{}\hlsym{(}\hlstd{q73inv}\hlsym{,}\hlstd{}\hlnum{73}\hlstd{}\hlsym{);}\\
382 \hlline{227\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{acuad73\ }\hlsym{=\ (}\hlstd{w73}\hlsym{{*}}\hlstd{q73inv}\hlsym{)\%}\hlstd{}\hlnum{73}\hlstd{}\hlsym{;}\\
383 \hlline{228\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{a}\hlsym{,}\hlstd{b}\hlsym{;}\\
384 \hlline{229\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{j\ }\hlsym{=\ }\hlstd{cuad73}\hlsym{{[}}\hlstd{acuad73}\hlsym{{]};}\\
385 \hlline{230\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{k\ }\hlsym{=\ }\hlstd{cuad137}\hlsym{{[}}\hlstd{acuad137}\hlsym{{]};}\\
386 \hlline{231\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{list}\hlsym{$<$}\hlstd{}\hlkwb{int}\hlstd{}\hlsym{$>$\ }\hlstd{res}\hlsym{;}\\
387 \hlline{232\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwb{int\ }\hlstd{candidatos}\hlsym{{[}}\hlstd{}\hlnum{4}\hlstd{}\hlsym{{]}\ =\ \{\ }\hlstd{}\hlkwd{resto}\hlstd{}\hlsym{(}\hlstd{j}\hlsym{{*}}\hlstd{coef\textunderscore 137\ }\hlsym{+\ }\hlstd{k}\hlsym{{*}\ }\hlstd{coef\textunderscore 73}\hlsym{,}\hlstd{}\hlnum{10001}\hlstd{}\hlsym{),\ }\hlstd{}\hlkwd{resto}\hlstd{}\hlsym{((}\hlstd{}\hlnum{73}\hlstd{}\hlsym{{-}}\hlstd{j}\hlsym{)}\Righttorque\\
388 \hlline{233\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlsym{{*}}\hlstd{coef\textunderscore 137\ }\hlsym{+\ }\hlstd{k}\hlsym{{*}\ }\hlstd{coef\textunderscore 73}\hlsym{,}\hlstd{}\hlnum{10001}\hlstd{}\hlsym{),}\\
389 \hlline{234\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwd{resto}\hlstd{}\hlsym{((}\hlstd{}\hlnum{73}\hlstd{}\hlsym{{-}}\hlstd{j}\hlsym{){*}}\hlstd{coef\textunderscore 137\ }\hlsym{+\ (}\hlstd{}\hlnum{137}\hlstd{}\hlsym{{-}}\hlstd{k}\hlsym{){*}\ }\hlstd{coef\textunderscore 73}\hlsym{,}\hlstd{}\hlnum{10001}\hlstd{}\hlsym{),\ }\hlstd{}\hlkwd{resto}\hlstd{}\hlsym{(}\Righttorque\\
390 \hlline{235\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{j}\hlsym{{*}}\hlstd{coef\textunderscore 137\ }\hlsym{+\ (}\hlstd{}\hlnum{137}\hlstd{}\hlsym{{-}}\hlstd{k}\hlsym{){*}\ }\hlstd{coef\textunderscore 73}\hlsym{,}\hlstd{}\hlnum{10001}\hlstd{}\hlsym{)}\\
391 \hlline{236\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlsym{\};}\\
392 \hlline{237\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwd{forn}\hlstd{}\hlsym{(}\hlstd{i}\hlsym{,\ }\hlstd{}\hlnum{4}\hlstd{}\hlsym{)\ \{}\\
393 \hlline{238\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{a\ }\hlsym{=}\hlstd{candidatos}\hlsym{{[}}\hlstd{i}\hlsym{{]}\ ;}\\
394 \hlline{239\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwa{if\ }\hlstd{}\hlsym{(}\hlstd{}\hlkwd{obtener\textunderscore b}\hlstd{}\hlsym{(}\hlstd{a}\hlsym{,}\hlstd{x}\hlsym{,}\hlstd{y}\hlsym{,}\hlstd{b}\hlsym{))\ \{}\\
395 \hlline{240\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwa{if\ }\hlstd{}\hlsym{(}\hlstd{}\hlkwd{testear\textunderscore candidato}\hlstd{}\hlsym{(}\hlstd{a}\hlsym{,}\hlstd{b}\hlsym{,}\hlstd{cant}\hlsym{,}\hlstd{res}\hlsym{))\ \{}\\
396 \hlline{241\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwa{break}\hlstd{}\hlsym{;}\\
397 \hlline{242\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlsym{\}}\\
398 \hlline{243\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlsym{\}}\\
399 \hlline{244\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{res}\hlsym{.}\hlstd{}\hlkwd{clear}\hlstd{}\hlsym{();}\\
400 \hlline{245\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlsym{\}}\\
401 \hlline{246\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwd{foreachin}\hlstd{}\hlsym{(}\hlstd{it}\hlsym{,}\hlstd{res}\hlsym{)\ \{}\\
402 \hlline{247\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlkwd{printf}\hlstd{}\hlsym{(}\hlstd{}\hlstr{"\%d}\hlesc{$\backslash$n}\hlstr{"}\hlstd{}\hlsym{,{*}}\hlstd{it}\hlsym{);}\\
403 \hlline{248\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlsym{\}}\\
404 \hlline{249\ }\hlstd{\\
405 \hlline{250\ }}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlsym{\}}\\
406 \hlline{251\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ \ \ \ \ }\hlstd{}\hlsym{\}}\\
407 \hlline{252\ }\hlstd{\\
408 \hlline{253\ }}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlsym{\}}\\
409 \hlline{254\ }\hlstd{}\hlstd{\ \ \ \ \ \ \ \ }\hlstd{}\hlkwa{if\ }\hlstd{}\hlsym{(}\hlstd{}\hlkwd{scanf}\hlstd{}\hlsym{(}\hlstd{}\hlstr{"\%d}\hlesc{$\backslash$n}\hlstr{"}\hlstd{}\hlsym{,\&}\hlstd{cant}\hlsym{)!=}\hlstd{}\hlnum{1}\hlstd{}\hlsym{)}\hlstd{}\hlkwa{break}\hlstd{}\hlsym{;}\\
410 \hlline{255\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlsym{\}}\\
411 \hlline{256\ }\hlstd{}\hlstd{\ \ \ \ }\hlstd{}\hlkwa{return\ }\hlstd{}\hlsym{(}\hlstd{EXIT\textunderscore SUCCESS}\hlsym{);}\\
412 \hlline{257\ }\hlstd{}\hlsym{\}}\\
413 \hlline{258\ }\hlstd{}\\
414 \mbox{}
415 \normalfont
416 \shorthandon{"}